
#define CLASS_WRAPPER_BEGIN(NAME) \
   static object New(NAME ** ptr = NULL) { \
      object res = Type()(); \
      if (ptr != NULL) { \
         *ptr = extract<NAME *> (res); \
      } \
      return res; \
   } \
   static object Type(void) { \
      static object type; \
      if (type.is_none()) { \
         type = 

#define CLASS_WRAPPER_END() \
      } \
      return type; \
   }

